1. Field of the Invention
The present invention relates generally to call management using a routing engine in a communications system, and more specifically, to a call management technique that may be used to facilitate implementation of dialed number translation techniques.
2. Brief Description of Related Prior Art
Systems for managing and routing calls through public and/or private communications networks are known in the art. Conventional automatic call distribution (ACD) systems route calls to agents in telemarketing and service inquiry centers, and provide limited real-time call management and reporting capabilities. A typical ACD system will monitor the status of the agent and, when an incoming call is received, selects the agent to handle a particular service request. Reporting and performance data from the agents are also generated by the ACD.
One particular type of scheme for distributing calls to agents is disclosed in Frauenthal et al., U.S. Pat. No. 4,737,983. According to Frauenthal et al., data representing the present call congestion of each of the ACD systems is accumulated in a data base. Using the data in the data base, the percentage of calls made to the ACD systems, as a group, is determined. The information is then used to generate call routing information. When a new call is made to the central office, the routing information is queried to determine which of the ACD systems is to receive the call, so as to balance the call traffic load across the ACD systems.
Another call management and distribution scheme is provided in Gechter et al., U.S. Pat. No. 5,036,535. This patent discloses a system for automatically distributing telephone calls placed over a network to one of a plurality of agent stations connected to the network via service interfaces, and providing status messages to the network. Gechter et al.""s disclosed system includes means for receiving the agent status messages and call arrival messages from the network, which means are connected via a network service interface to the network. Routing means responsive to the receiving means is provided for generating a routing signal provided to the network to connect the incoming call to an agent station through the network. In the system disclosed in Gechter et al., when an incoming call is made to the call router, it decides which agent station should receive the call, establishes a call with that agent station, and then transfers the original call onto the second call to connect the incoming caller directly to the agent station and then drops out of the connection (See, Gechter et al., column 11, lines 45-51).
Other prior art call management, routing, and distribution techniques are disclosed in Andrews et al., U.S. Pat. No. 5,873,130, which is assigned to the assignee of the subject application. This patent discloses a communications system and method for automatically making telephone routing decisions with global authority based upon information gathered in real time from the entire communications system and global optimization criteria. The entirety of the disclosure of the Andrews et al. patent is incorporated herein by reference.
Conventional communications systems of the type disclosed in the aforesaid Andrews et al. patent typically comprise one or more ACD systems connected to each other via at least one public switched telephone network (PSTN). The ACD systems and the PSTN may be controlled by a central controller so as to route calls to and from agents (and/or caller services, such as interactive voice response units) associated with such systems, and callers external thereto, through the ACD systems and PSTN.
It is not uncommon for each such ACD system to implement xe2x80x9cdialed plansxe2x80x9d or xe2x80x9cdialed number translationxe2x80x9d techniques (hereinafter collectively or singly referred to as xe2x80x9cdialed number plansxe2x80x9d). In such conventional dialed number plans, a number dialed by an agent, or an alphanumeric string entered by the agent via a computer telephony-integration (CTI) agent workstation may be used to request the establishment of an outbound call. The dialed number or entered string may be compared to preconfigured dialed number and alphanumeric string entries in dialed number plan translation tables (DNPTT) stored in the ACD system. If the dialed number and/or entered alphanumeric string matches one of these preconfigured entries, the ACD system determines from an associated entry in the DNPTT a predetermined conversion or translation algorithm that is to be applied to the dialed number to convert or translate the dialed number into an actual destination telephone number for being supplied to the PSTN to establish the call via the PSTN. Such conversion/translation algorithms are hereinafter and/or singly termed xe2x80x9cconversion algorithmsxe2x80x9d.
Such conversion algorithms may be used to implement certain dialing conveniences or features (e.g., xe2x80x9cspeed dialingxe2x80x9d features whereby a dialed extension number is converted into a telephone number that may be validly supplied to the PSTN to initiate an outbound call), and may involve, e.g., pre-pending one or more predetermined digits to the beginning of a dialed number so as to cause the resulting numerical string to include all necessary outside dialing, long distance, and area code prefixes. Other such conventional algorithms may convert a logical name or handle (e.g., the handle xe2x80x9csalesxe2x80x9d) entered by an agent via a CTI agent workstation into a telephone number associated with the entered name or handle in the dialed number plan tables (e.g., a telephone number that may be validly supplied to the PSTN to initiate the establishment by the PSTN of a call to a corporate sales department). The DNPTT may also include other entries that indicate e.g., whether a given agent is authorized to request the type of outbound call (e.g., an interational long distance, national long distance, etc. call) that will be initiated if the actual valid telephone number generated by the conversion algorithms is provided to the PSTN.
Unfortunately, in these conventional ACD-implemented dialed number plans, each of the individual ACD systems maintains its own respective DNPTT and implements its own respective dialed number plan; no mechanism is provided that permits the implementation of a truly global (i.e., communication system- or enterprise-wide) dialed number plan (i.e., based upon a truly global dialed number plan and DNPTT). Disadvantageously, this decreases the efficiency and utility of the communication system.
Also unfortunately, the conventional conversion algorithms that are applied to the dialed numbers and agent-entered strings to convert them to valid PSTN destination telephone numbers are preconfigured in the respective DNPTT of the ACD systems and do not change dynamically based upon real-time conditions (e.g., the availability and configuration of telecommunication resources) in the communication system. This is also disadvantageous, since such conditions in the communications system may change quite rapidly, and therefore, such static preconfiguring of the conversion algorithms may reduce the efficiency of the communication system.
Additionally, conventional ACD systems typically are complex telecommunications devices and costly to acquire; thus, the use of conventional ACD systems in such conventional dialed number plans inherently increases the cost and complexity of implementing such plans. Accordingly, it would be desirable to reduce or eliminate the need to use conventional ACD systems in implementing dialed number plans.
Furthermore, the use of Internet Protocol (IP) telephony to carry voice telephone traffic offers cost advantages over the use of Plain Old Telephone Service (POTS) telephony to carry such traffic, as in contradistinction to POTS telephony, an IP network may be used to carry both voice and data traffic over a single network connection. Additionally, the widespread and increasing availability of IP broadband service is making use of IP telephony even more attractive. Accordingly, it would be desirable to provide means for facilitating use of IP telephony services in the communication system.
According to the present invention, a call management technique is provided that overcomes the aforesaid and other disadvantages and drawbacks of the prior art. More specifically, in the present invention, a call management technique is provided that is implemented using a call routing engine. In one embodiment of the technique, the engine receives a call management request from a first device that requests that the engine provide the first device with a destination label of a second device that is desired to be called by the first device via a network (e.g., a private network or a public network, such as a PSTN). The second device is identified in the request by a first value. The label is determined by the engine based, at least in part, upon information correlating the label, the first value and a second value associated with the second device. At least the label and the second value, but optionally also the first value, may be associated by the engine with the second device (e.g., as associated entries in a novel type of global DNPTT) during a log-in negotiation between the engine and the second device. After being determined by the engine, the label may be provided to the first device; the first device may then use the label to initiate establishment of a call from the first device to the second device via the network.
If the network is a PSTN, the label may be a telephone number that may be validly supplied to a PSTN by the first device to cause the PSTN to initiate the establishment of the call via the PSTN from the first device to a call destination associated with or specified by the number (e.g., the second device). The first value may be an agent-dialed number or agent-entered alphanumeric string that specifies an agent or agent workgroup (e.g., an agent skillgroup). The second value may be, comprise, or specify a value (e.g., a physical address) uniquely associated with the second device.
Either or both of the first and second devices may comprise a respective agent system (e.g., an ACD and/or CTI agent workstation). Alternatively, the first device may comprise an agent system and the second device may comprise a voice response unit.
If the first and second devices are agent systems, neither the first device nor the second device need comprise, or be part of, a conventional ACD system. Instead, either or both of the first device and the second device may comprise, or be part of, a respective non-ACD system that is capable of providing ACD-like features. Each such non-ACD system may comprise a plurality of distributed computer processes executing in conventional computer systems networked together via conventional computer networking hardware and software and provisioned with appropriate telephony hardware and software. These computer systems may include one or more CTI agent workstations.
In order to become part of the communications system controlled by the routing engine, CTI agent workstation""s comprised in these non-ACD system may undergo initial log-in negotiations that involve the routing engine. It may be during such negotiation that the first value, second value, and label may be associated with the second device by the engine. Advantageously, by exchanging such information and associating same with the second device during such negotiation, an efficient mechanism is provided by which changes in the configuration of the communication system that may result from changes in the destination label and/or physical address of the second device associated with a given agent may be easily determined and accommodated by the routing engine (e.g., the engine may easily update global configuration data of the system to reflect such changes.
The engine may dynamically select the label that is provided to the first device based upon real-time conditions of a communications system (i.e., comprising the network and the first and second devices) controlled by the engine. For example, the engine may select call control script commands to be executed based upon the first value. These script commands, when executed by the engine, may cause the engine to dynamically select algorithms to be used to select the label to be provided to the first device from a plurality of destination labels of, or associated with, respective devices in a particular classification (e.g., devices associated with agents belonging to a particular agent workgroup), based upon selection parameters embodied in the script. These parameters may utilize real-time information concerning the condition of telecommunication resources in the communications system, such as, which of the respective devices is currently available to receive and process a call from the first device, and the current global configuration of the communication system.
The public network may be an IP-based network (e.g., the Internet). The network may be an IP network that may be used to establish an IP telephony call.
These features of the present invention provide a mechanism that permits the implementation of a truly global dialed number plan, wherein the algorithms and destination labels provided by such a plan may be dynamically selected based upon the real-time condition of the communication system in which the plan is implemented. Also, the technique of the present invention need not be implemented using conventional ACD systems. Thus, advantageously, dialed number plans and communication systems implemented using the present invention may be more efficient, less expensive and less complex compared to the prior art. Further advantageously, the implementation of such plans and systems may be easier according to the present invention compared to the prior art. Yet further advantageously, means are provided in one embodiment of the present invention for facilitating use of IP telephony services.
It will be appreciated by those skilled in the art that although the following Detailed Description will proceed with reference being made to illustrative embodiments and methods of use, the present invention is not intended to be limited to these embodiments and methods of use. Rather, the present invention is of broad scope and is intended to be defined as only set forth in the accompanying claims.